﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Distrackting.DataLayer;
using System.Collections.Generic;
using System.Collections;

namespace Distrackting.BusinessLayer
{
    public class GerirEpoca
    {
        public static List<Epoca> getEpocas() {
            try
            {
                return dataEpoca.getEpocas().ToList();

            }
            catch (Exception) { throw new Exception("Não foi possível consultar a lista época."); }
        }

        public void inserirEpoca(String epoca)
        {
            try
            {
                Epoca a = new Epoca();
                a.epoca = epoca;
                dataEpoca.createEpoca(a);
            }
            catch (Exception )
            {
                throw new Exception("Não foi possível inserir época.");
            }
        }

        public void apagarEpoca(Guid cod_epoca)
        {
            try
            {
                Epoca a = dataEpoca.getEpoca(cod_epoca);
                dataEpoca.deleteEpoca(a);
            }
            catch (Exception )
            {
                throw  new Exception("Não foi possível remover época.");
            }
        }

        public Epoca getEpoca(Guid cod_epoca)
        {
            try
            {
                return dataEpoca.getEpoca(cod_epoca);
            }
            catch (Exception )
            {
                throw new Exception("Não foi possível aceder época.");
            }
        }

        public Epoca getEpocaByDescricao(String epoca)
        {
            try
            {
                Epoca ep = new Epoca();
                foreach (Epoca a in dataEpoca.getEpocas().ToList())
                {
                    if (a.epoca == epoca) return a;
                }
                return ep;
            }
            catch (Exception)
            {
                throw new Exception("Não foi possível aceder a época pretendida.");
            }
        }

    }
}
